package perucuy.dao.sqlmap;

import java.util.HashMap;
import java.util.List;

import org.apache.log4j.Logger;

import perucuy.dao.ReproductoraDAO;
import perucuy.transfers.ReproductoraTO;
import static perucuy.utils.Funciones.getTipoFecha;

public class SqlMapReproductoraDAO extends SqlMapDAO implements ReproductoraDAO {
   
    
    /**
     *
     */
    
    private static Logger log = Logger.getLogger(SqlMapReproductoraDAO.class);
    
    private static final ReproductoraDAO dao = new SqlMapReproductoraDAO();
    
    private SqlMapReproductoraDAO() {
        super(SqlMapDAOFactory.getSqlMap());
        log.debug("dao reproductora instanciado");
    }
    
    public void close() {
        log.debug("cerrando");
    }
    
    public static ReproductoraDAO getInstance() {
        return dao;
    }
    
    public List listado() {
        return consultaEnLista("getListaReproductora", null);
    }
    
    public void create(ReproductoraTO reproductora) {
        String id = "" + insert("insertReproductora", reproductora);
        reproductora.setCodigo(Integer.parseInt(id));      
    }

    public void actualizar(ReproductoraTO reproductora){
        update("update-reproductora", reproductora);
        HashMap hm = new HashMap();
        hm.put("id", ""+reproductora.getCodigo());    
      
    }

   public void actualizaParto(ReproductoraTO reproductora){
        update("update-partoreproductora", reproductora);
        HashMap hm = new HashMap();
        hm.put("id", ""+reproductora.getCodigo());    
      
    }
     
    public ReproductoraTO dameReproductora(int id){
        HashMap<String, Integer> hm = new HashMap<String, Integer>();
        hm.put("id", id);
        ReproductoraTO t = queryForObject("getReproductora", hm);        
        //List lista = consultaEnLista("getTareaPozo", hm);
        //log.debug("nro de pozas: "+lista.size());
        return t;
    }
    
    public int eliminarReproductora(int id){
        HashMap hm = new HashMap();
        hm.put("id", id);
        return delete("deleteReproductora", hm);
    }
    
    public List listadoNucleo() {
        return consultaEnLista("getListaNucleo", null);
    }
    
    public List listado(int campo, String valor) {
        HashMap hm = new HashMap();
        hm.put("campo", campo);
        
        if (campo==2)
            hm.put("valor", getTipoFecha(valor));
        else
            hm.put("valor", valor);
        
        return consultaEnLista("getListaReproductora", hm);
    }
}

